iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0

Lambda函式又稱為匿名函式,不需要定義名稱的簡化函式,程式碼只含有一個return陳述句。

Lambda語法與使用範例:
func = lambda 參數1, 參數2, ... : 運算式

等同於以下語法

def func(參數1, 參數2, ...):
運算式
return 回傳值

Lambda語法不需要def陳述句,其傳入參數可以多個並以逗號分隔。而運算式針對傳入參數來進行運算並只能有一行運算式。
其有助於將某些小型函式當作引數讓其他函式呼叫。以下舉個範例
sorted()可以用來排序可疊代物件中的元素,其語法為
sorted(iterable, key=lambda parameter: expression)

ages = [
        ('Wendy', 15),
        ('Tony', 28),
        ('Bob', 6)
]
print(sorted(ages, key=lambda age: age[1]))

執行結果
https://ithelp.ithome.com.tw/upload/images/20220917/20110042k4x8JD8nYq.jpg
結論:
Lambda函式運用一種方便快捷的處理方式,適度的使用讓程式碼簡潔了許多。
我們可以直接使用小型單行的lambda函式,不需以def陳述句定義新的命名函式。但是建議避免過度使用lambda撰寫複雜函式,複雜的邏輯運算還是優先以一般函式撰寫。


上一篇
Day16: Python函式的可變參數
下一篇
Day18: Python注釋總類
系列文
人生苦短我用python寫出乾淨程式碼22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言